๋ฌธ์ ์ํฉ
๋ธ๋ก๊ทธ ๊ธ์ ์กฐํํ ๋ footer๊ฐ ๊ธ ํ๊ฐ์ด๋ฐ์ ์์นํ๋ ์ค๋ฅ๊ฐ ์๋ค. ์กฐํ ํ์ด์ง์์๋ง ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋๋ค.
์์ธ
<article
className="h-190 ml-20 mr-25 mt-5 prose prose-lg prose-blog max-w-none"
dangerouslySetInnerHTML={{ __html: contentHtml }}
></article>
์ด๋ ๊ฒ ๊ณ ์ ๋์ด๋ฅผ ์ค์ ๊ทธ๋ ๋ค๊ณ ํ๋ค.
//main์ layout
<>
<Navbar />
<div className="flex-grow">{children}</div>
<Footer />
</>
//์ด๊ฒ์ ๋ถ๋ชจ๊ฐ ๋๋ root layout์์๋
<html>
<body
className={`${nanumGothic.className}
antialiased flex flex-col max-w-screen min-h-screen
overflow-y-scroll `}
>
{children}
</body>
</html>
main layout์ ๋ณด๋ฉด ํ์ด์ง ๋ด์ฉ์ ๋ด์ div์ flex-grow
๋ฅผ ์คฌ๋ค.
root layout์ ๋ณด๋ฉด body์ ๋์ด๋ ์คํฌ๋ฆฐ ๋์ด๋ก ์ง์ ํ๋ค. (์ฌ๊ธฐ๊น์ง๋ ํ๋ฆฐ๊ฒ ์์)
flex-grow์ ๋ ์ด์์ ๊ณ์ฐ ๋ฐฉ๋ฒ
flex-grow ๋ฅผ ๊ฐ์ง๋ ์ปจํ
์ด๋๋ ๋จผ์ ์์ ์์๋ค์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๊ณ ,
์ ์ฒด ๊ฐ๋ฅํ ๊ณต๊ฐ - ์์ ์์๋ค์ ํฉ = ๋๋จธ์ง ๊ณต๊ฐ
๊ณ์ฐํ ๋๋จธ์ง ๊ณต๊ฐ์ ์๊ธฐ๊ฐ ๊ฐ์ ธ๊ฐ๋ค.
์๋ฅผ๋ค์ด 1000px์์ Naver์ Footer๊ฐ 50์ฉ ์ฐจ์งํ๊ณ ์์์ ํฌ๊ธฐ๊ฐ ์ดํฉ 500์ด๋ผ๊ณ ํ๋ฉด 1000 - 50 - 50 - 500 = 400์ ๋๋จธ์ง๊ฐ ์๊ธฐ๊ณ ,
์ด ๋๋จธ์ง๋ฅผ flex-grow ์ปจํ
์ด๋๊ฐ ๊ฐ์ ธ๊ฐ๋ค.
๊ทธ๋์ ์์ ์์๋ค์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ ์ต์ ๋์ด๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฐ๋ฐ ์์์๊ฒ ๊ณ ์ ๋์ด๋ฅผ ์ฃผ๊ฒ๋๋ฉด, flex-grow๊ฐ ์ฌ์ ์ ๊ณ์ฐ์ ํด๋ฒ๋ฆฐ๋ค. ์ค์ ํ๋ฉด์ ๋ณด์ฌ์ง ๋ด์ฉ๋ค์ ํฌ๊ธฐ๊ฐ ์๋๋ผ css์ ์์ฑ๋์ด์๋ ์ซ์๋ก ๋ฏธ๋ฆฌ ๊ณ์ฐ์ ํด๋ฒ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ง๊ฒ ์๊ธฐ ๋์ด๋ฅผ ๊ณ์ฐํด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ flex-grow๋ฅผ ์ ์ฌ์ฉํ๋ ค๋ฉด ์์์๊ฒ ๊ณ ์ ํฌ๊ธฐ๋ฅผ ์ฃผ์ง ์๋๊ฒ ๋ ์ข์ ๋ฐฉ๋ฒ.
ํด๊ฒฐ
๊ฐ๋จํ ๊ณ ์ ๋์ด๋ฅผ ๋นผ๊ณ , ๋ถ๋ชจ์ ๋ง์ง์ ์ค์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ค.